1
El Camino hacia Kernel de Alto Rendimiento
AI023Lesson 2
00:00

El camino hacia kernels de alto rendimiento comienza al pasar de orientado a operaciones programación (PyTorch Eager) a con conciencia del hardware programación. Triton actúa como el puente clave en este camino.

1. Definición de la Pila

Triton es un lenguaje y compilador para programación paralela, diseñado para hacer práctico escribir kernels personalizados de alto rendimiento con sintaxis de Python. Ocupa una posición única entre ambos extremos:

  • PyTorch Eager: Alta abstracción, fácil de usar, pero control limitado sobre el uso del hardware.
  • CUDA C++: Máximo control, pero alta complejidad (gestión manual de memoria compartida y sincronización).
  • Triton: Sintaxis tipo Python con nivel de bloque (en mosaicos) control.
PyTorch Eager (Alta Abstracción)Triton (Nivel de Bloque / Compilador Dirigido)CUDA / Ensamblador (Bajo Nivel)

2. El Paradigma en Mosaicos

A diferencia de CUDA, que opera a nivel de hilo, Triton utiliza un modelo de programación basado en bloques (en mosaicos) de programación. Esto es especialmente relevante para el Aprendizaje Profundo, donde los datos (matrices, mapas de atención) se estructuran naturalmente en bloques.

3. El Falacia del Rendimiento

Un malentendido común es pensar que Triton es simplemente "PyTorch más rápido". En realidad, es un paradigma separado. Las ganancias de rendimiento provienen de la capacidad del desarrollador para eliminar cuellos de botella (como la "Pared de Memoria") fusionando operaciones para mantener los datos en la SRAM rápida integrada.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>